﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
            static void Main(string[] args)
            {
                text5();
                Console.ReadKey();
            }
            static void text1()
            {
                //1、生成0 - 5之间的随机小数，保留两位小数（必须是2位）。
                Random ran = new Random();
                for (int i = 0; i < 50; i++)
                {
                    double d = ran.NextDouble() * 5;
                    Console.WriteLine(d.ToString("f2"));
                }
            }
            static void text2()
            {
                //2、生成4 - 7之间的随机小数，保留两位小数。
                Random ran = new Random();
                for (int i = 0; i < 50; i++)
                {
                    double d = 4 + ran.NextDouble() * (7 - 4);
                    Console.WriteLine(d.ToString("f2"));
                }
            }
            static void text3()
            {
            //3、生成一个随机整型数组，长度是10，内容是1~10，数组内容不重复。
            Random a = new Random();
            int[] arr = new int[10];
            for (int i = 0; i < arr.Length; i++)
            {
                int c = a.Next(1, 11);
                arr[i] = c;
                for (int j = 0; j < i; j++)
                {
                    if (arr[i] == arr[j])
                    {
                        i--;
                    }
                }
            }
            for (int i = 0; i < arr.Length; i++)
            {
                Console.Write(arr[i] + " ");
            }
        }
            static void text4()
            {
            //4、用户输入邮箱，请验证其合法性。
            //   1、邮箱一定需要 @符号

            //      2、根据 @符号分为两部分，“前半部分 @ 后半部分”，
            //前半部分可以数字、字母、下划线、中划线、 .（符号点）。但是.（符号点）不能 用在开头也不能用在结尾；

            //      后半部分可以数字、字母、下划线、中划线、.（符号点），且符号点是必须的，至少出现一次，但不能连续出现，且符号点不能在开头，
            //      也不能在结尾。
            //后半部分的符号点后面只能是：com、org、net、edu、mil、tv、biz、info
            Console.WriteLine("请输入邮箱：");
            string arr = Console.ReadLine();
            if (Regex.IsMatch(arr, @"^(\w+)+(\.*)(\w+)+@(\w+)+(\.+)(com|org|net|edu|mil|tv|biz|info)$"))
            {
                Console.Write(arr);
                Console.WriteLine("输入正确");
            }
            else
            {
                Console.Write(arr);
                Console.WriteLine("输入错误");
            }
        }
            static void text5()
            {
            // 5、用户输入手机号码，请验证其合法性。
            // 手机号码规则：
            //最开头 + 86可有可无

            //   13开头第三位是 0 - 9

            //   14开头第三位是 5或7

            //   15开头第三位是 0 - 9不包含4

            //   17开头第三位是 678中的一个

            //   18开头第三位是 0 - 9

            //   剩下的8位，都是0 - 9的数字。
            Console.WriteLine("请输入手机号：");
            string tel = Console.ReadLine();
            if (Regex.IsMatch(tel, @"^(\+86)?(13\d{1})|(14(5|7))|(15[0-3]{1}[5-9]{1})|(17(6|7|8)|(18\d{1}))(\d{8})$"))
            {
                Console.Write(tel);
                Console.WriteLine("输入正确");
            }
            else
            {
                Console.Write(tel);
                Console.WriteLine("输入有误");
            }
        }
        }
    }

